package com.yc.cloud.admin.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 人脸识别服务配置属性
 *
 * @author JackGu
 * @since 2025-11-05
 */
@Data
@Component
@ConfigurationProperties(prefix = "face-recognition")
public class FaceRecognitionProperties {

    /**
     * 人脸识别服务基础URL
     */
    private String baseUrl = "http://129.211.27.151:8001";

    /**
     * 人脸识别相似度阈值（0-1），默认0.6
     */
    private Float threshold = 0.6F;

    /**
     * 人脸识别返回的最大匹配数量，默认1（只返回相似度最高的）
     */
    private Integer topK = 1;

    /**
     * 获取完整的人脸检测接口URL
     */
    public String getDetectUrl() {
        return baseUrl + "/api/v1/face/detect";
    }

    /**
     * 获取完整的添加人脸文件接口URL
     */
    public String getAddFileUrl() {
        return baseUrl + "/api/v1/face/add-file";
    }

    /**
     * 获取完整的人脸搜索文件接口URL
     */
    public String getSearchFileUrl() {
        return baseUrl + "/api/v1/face/search-file";
    }

    /**
     * 获取完整的删除人脸接口URL
     */
    public String getDeleteUrl() {
        return baseUrl + "/api/v1/face/delete";
    }

    /**
     * 获取连接超时时间（毫秒）
     */
    public Integer getConnectTimeout() {
        return 30000;
    }

    /**
     * 获取读取超时时间（毫秒）
     */
    public Integer getReadTimeout() {
        return 30000;
    }
}

